﻿using System.Collections;
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration;
using Microsoft.Practices.EnterpriseLibrary.Data;

namespace PomodoroSuite.FW.DAL
{
    internal class ConnectionSingleton
    {
        #region " Campos "

        private static Database _instancia;
        private static string _nombreConexion = "";
        private static Hashtable _conexiones = new Hashtable();

        #endregion

        #region " Propiedades "

        /// <summary>
        /// Obtiene una conexion a la base de datos especificada
        /// </summary>
        /// <param name="nombre">Nombre de la conexión</param>
        /// <returns></returns>
        public static Database ObtenerInstancia(string nombre)
        {
            if (_conexiones[nombre] != null)
            {
                _instancia = (Database)_conexiones[nombre];
                if (_instancia == null)
                {
                    _instancia = EnterpriseLibraryContainer.Current.GetInstance<Database>(nombre);
                    _conexiones[nombre] = _instancia;
                }
            }
            else
            {
                _instancia = EnterpriseLibraryContainer.Current.GetInstance<Database>(nombre);
                _conexiones.Add(nombre, _instancia);
            }


            return _instancia;
        }

        #endregion

    }
}
